package com.pine.app.module.security.core.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import static com.pine.app.module.security.core.config.XssCheckProperties.XSS_PROPERTIES;


/**
 * xss检查配置
 */
@Configuration
@ConfigurationProperties(XSS_PROPERTIES)
@Setter
@Getter
public class XssCheckProperties {

    public static final String XSS_PROPERTIES = "pine.security.xss";

    /**
     * 是否开启XSS检查
     */
    private boolean enabled = true;

    /**
     * 需要检查的URL模式，允许多个用逗号分隔。例如/**
     * 默认: /**
     */
    private String urlPatterns = "/**";

    /**
     * 不检查的URL模式，允许多个用逗号分隔
     * 默认: 空
     * 例如 /abc/**
     */
    private String excludes = "";

    /**
     * 是否对请求参数进行检查
     * 默认开启
     */
    private boolean checkParam = true;

    /**
     * 是否对请求体进行检查
     * 默认开启
     * 开启后, 只对content-type = application/json, plain/text的请求体检查. 不对字节流型请求体检查
     */
    private boolean checkBody = true;


}
